package com.vogue.supplymall.order.domain.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "fulfillment")
public class Fulfillment extends TendBaseEntity implements Serializable{
    /**
	 * 
	 */
	private static final long serialVersionUID = -8289511179037774840L;
	/**
     * 订单id
     */
    private Long orderid;
    /**
     * 物流状态0:等待配送 1：配送中 2：配送完成
     */
    private Integer status;
    /**
     * 物流类型0:快递 1:物流 2:第三方运输
     */
    private Integer type;
    /**
     * 配送日期
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @Column(
            updatable = true,
            nullable = true,
            columnDefinition = "DATETIME NULL COMMENT'配送日期'"
    )
    private Date senddate;
    /**
     * 到达日期
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @Column(
            updatable = true,
            nullable = true,
            columnDefinition = "DATETIME NULL COMMENT'到达日期'"
    )
    private Date arrivedate;
    /**
     * 物流单号
     */
    private String number;
    /**
     * 物流公司代码
     */
    private String companycode;

    public Long getOrderid() {
        return orderid;
    }

    public void setOrderid(Long orderid) {
        this.orderid = orderid;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Date getSenddate() {
        return senddate;
    }

    public void setSenddate(Date senddate) {
        this.senddate = senddate;
    }

    public Date getArrivedate() {
        return arrivedate;
    }

    public void setArrivedate(Date arrivedate) {
        this.arrivedate = arrivedate;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getCompanycode() {
        return companycode;
    }

    public void setCompanycode(String companycode) {
        this.companycode = companycode;
    }
}